Skip to main content

vNIN Verification

Verify Virtual National Identification Number (vNIN)​

POST {{baseurl}}/v1/api/identity/ng/vnin

Request Body​

NameTypeDescription
id*StringValid vNIN (16-character alphanumeric)
isSubjectConsent*BooleanIndicate subject has given consent. Must be true
validationObjectValidation Object
dataObjectData Validation Object
lastNameStringLast name to compare against ID
firstNameStringFirst name to compare against ID
dateOfBirthStringDate of birth to compare against ID
selfieObjectSelfie Validation Object
imageStringSelfie image to compare against ID

vNIN Verification​

vNIN (Virtual NIN) is a tokenised, non-permanent alias of a NIN generated via the NIMC app or USSD. vNIN verification verifies that the provided virtual NIN is valid and returns the holder's information:

{
"id": "AB123456789012CD",
"isSubjectConsent": true
}
{
"success": true,
"statusCode": 200,
"message": "success",
"data": {
"status": "found",
"reason": null,
"dataValidation": false,
"selfieValidation": false,
"firstName": "Sarah",
"middleName": "Jane",
"lastName": "Doe",
"image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wCEAAoH...",
"mobile": "08000000000",
"email": null,
"birthState": "Edo",
"birthLGA": "Esan West",
"birthCountry": "nigeria",
"dateOfBirth": "1988-04-04",
"isConsent": true,
"idNumber": "AB123456789012CD",
"allValidationPassed": true,
"gender": "f",
"createdAt": "2023-06-20T18:20:11.552Z",
"updatedAt": "2023-06-20T18:20:11.552Z",
"country": "NG",
"metadata": {}
}
}

vNIN Facial Matching​

vNIN Facial Matching verifies that the vNIN is valid and that the provided image matches the image in the database. A confidence score is returned:

{
"id": "AB123456789012CD",
"isSubjectConsent": true,
"validations": {
"selfie": {
"image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wCEAAoH..."
}
}
}
{
"success": true,
"statusCode": 200,
"message": "success",
"data": {
"validations": {
"selfie": {
"selfieVerification": {
"confidenceLevel": 91,
"threshold": 80,
"match": true,
"image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wCEAAoH..."
}
},
"validationMessages": ""
},
"status": "found",
"reason": null,
"dataValidation": false,
"selfieValidation": true,
"firstName": "Sarah",
"middleName": "Jane",
"lastName": "Doe",
"mobile": "08000000000",
"dateOfBirth": "1988-04-04",
"isConsent": true,
"idNumber": "AB123456789012CD",
"allValidationPassed": true,
"gender": "f",
"country": "NG",
"createdAt": "2023-06-20T18:22:40.000Z",
"lastModifiedAt": "2023-06-20T18:22:40.000Z",
"metadata": {}
}
}

vNIN Validation​

vNIN Validation verifies a vNIN and compares provided data parameters against the records in the database:

{
"id": "AB123456789012CD",
"isSubjectConsent": true,
"validations": {
"data": {
"lastName": "Doe",
"firstName": "Sarah",
"dateOfBirth": "1988-04-04"
}
}
}
{
"success": true,
"statusCode": 200,
"message": "success",
"data": {
"validations": {
"data": {
"lastName": {
"validated": true,
"value": "Doe"
},
"dateOfBirth": {
"validated": true,
"value": "1988-04-04"
},
"firstName": {
"validated": true,
"value": "Sarah"
}
},
"validationMessages": ""
},
"status": "found",
"reason": null,
"dataValidation": true,
"selfieValidation": false,
"firstName": "Sarah",
"middleName": "Jane",
"lastName": "Doe",
"mobile": "08000000000",
"dateOfBirth": "1988-04-04",
"isConsent": true,
"idNumber": "AB123456789012CD",
"allValidationPassed": true,
"gender": "f",
"country": "NG",
"createdAt": "2023-06-20T18:24:16.916Z",
"lastModifiedAt": "2023-06-20T18:24:16.916Z",
"metadata": {}
}
}

Error Responses​

HTTP/1.1 402 Payment Required​

{
"success": false,
"statusCode": 402,
"message": "Insufficient fund",
"name": "PaymentRequiredError",
"data": {}
}

HTTP/1.1 500 Internal Server Error​

{
"success": false,
"statusCode": 500,
"message": "Service unavailable",
"name": "Error",
"data": {}
}

HTTP/1.1 403 Forbidden​

{
"success": false,
"statusCode": 403,
"message": "Permission denied",
"name": "UnauthorizedError",
"data": {}
}